#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int QDataType;

typedef struct qlist
{
	struct qlist* next;
	QDataType data;
}qlist;

typedef struct queue
{
	qlist* head;
	qlist* tail;
}queue;

void QueueInit(queue* pq);
void QueuePush(queue* pq, QDataType x);
void QueuePop(queue* pq);
QDataType QueueFront(queue* pq);
QDataType QueueBack(queue* pq);
bool QueueEmpty(queue* pq);
void QueueDestory(queue* pq);
